	.file	"sha512.cc"
	.text
	.p2align 4
	.globl	_Z14sha512_invokerPmPKSt4byteS2_
	.type	_Z14sha512_invokerPmPKSt4byteS2_, @function
_Z14sha512_invokerPmPKSt4byteS2_:
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbp
	pushq	%rbx
	subq	$80, %rsp
	movq	(%rdi), %rax
	movq	%rsi, -8(%rsp)
	movq	%rax, (%rsp)
	movq	8(%rdi), %rax
	movq	%rdx, 64(%rsp)
	movq	%rax, 8(%rsp)
	movq	16(%rdi), %rax
	movq	%rax, 16(%rsp)
	movq	24(%rdi), %rax
	movq	%rax, 24(%rsp)
	movq	32(%rdi), %rax
	movq	%rax, 32(%rsp)
	movq	40(%rdi), %rax
	movq	%rax, 40(%rsp)
	movq	48(%rdi), %rax
	movq	%rax, 48(%rsp)
	movq	56(%rdi), %rax
	movq	%rax, 56(%rsp)
	cmpq	%rdx, %rsi
	je	.L1
	movq	%rdi, 72(%rsp)
	.p2align 4,,10
	.p2align 3
.L4:
	movq	-8(%rsp), %rbx
	movq	32(%rsp), %r11
	movabsq	$8158064640168781261, %rdi
	movq	40(%rsp), %r12
	movq	48(%rsp), %r15
	movq	(%rbx), %rax
	movq	%r11, %rdx
	movq	(%rsp), %r14
	rorq	$14, %rdx
	movq	8(%rsp), %r9
	movq	16(%rsp), %r8
	bswap	%rax
	movq	%rax, %rsi
	movq	%rax, -120(%rsp)
	movq	%r11, %rax
	rorq	$18, %rax
	movq	%r14, %rcx
	xorq	%rax, %rdx
	movq	%r11, %rax
	rorq	$28, %rcx
	rolq	$23, %rax
	xorq	%rax, %rdx
	movq	56(%rsp), %rax
	addq	%rsi, %rax
	movabsq	$4794697086780616226, %rsi
	addq	%rsi, %rax
	movq	%r9, %rsi
	addq	%rax, %rdx
	movq	%r12, %rax
	xorq	%r14, %rsi
	xorq	%r15, %rax
	andq	%r11, %rax
	xorq	%r15, %rax
	addq	%rax, %rdx
	movq	24(%rsp), %rax
	leaq	(%rdx,%rax), %r10
	movq	%r14, %rax
	rolq	$30, %rax
	xorq	%rcx, %rax
	movq	%r14, %rcx
	rolq	$25, %rcx
	xorq	%rcx, %rax
	movq	%r9, %rcx
	xorq	%r8, %rcx
	andq	%rsi, %rcx
	xorq	%r9, %rcx
	addq	%rcx, %rax
	movq	%r11, %rcx
	addq	%rdx, %rax
	movq	8(%rbx), %rdx
	xorq	%r12, %rcx
	andq	%r10, %rcx
	bswap	%rdx
	movq	%rdx, -112(%rsp)
	addq	%r15, %rdx
	xorq	%r12, %rcx
	addq	%rdi, %rdx
	movq	%r10, %rdi
	movq	%rbx, %r15
	addq	%rdx, %rcx
	movq	%r10, %rdx
	rorq	$14, %rdi
	rorq	$18, %rdx
	xorq	%rdi, %rdx
	movq	%r10, %rdi
	rolq	$23, %rdi
	xorq	%rdi, %rdx
	movq	%r14, %rdi
	addq	%rdx, %rcx
	movq	%rax, %rdx
	xorq	%rax, %rdi
	leaq	(%rcx,%r8), %rbp
	movq	%rax, %r8
	rorq	$28, %rdx
	andq	%rdi, %rsi
	rolq	$30, %r8
	xorq	%r14, %rsi
	xorq	%rdx, %r8
	movq	%rax, %rdx
	rolq	$25, %rdx
	xorq	%r8, %rdx
	movq	%rbp, %r8
	addq	%rsi, %rdx
	movq	%r11, %rsi
	rorq	$14, %r8
	addq	%rcx, %rdx
	movq	16(%rbx), %rcx
	xorq	%r10, %rsi
	movabsq	$-5349999486874862801, %rbx
	andq	%rbp, %rsi
	bswap	%rcx
	movq	%rcx, -104(%rsp)
	addq	%r12, %rcx
	xorq	%r11, %rsi
	addq	%rbx, %rcx
	addq	%rcx, %rsi
	movq	%rbp, %rcx
	rorq	$18, %rcx
	xorq	%r8, %rcx
	movq	%rbp, %r8
	rolq	$23, %r8
	xorq	%r8, %rcx
	movq	%rax, %r8
	addq	%rcx, %rsi
	movq	%rdx, %rcx
	xorq	%rdx, %r8
	leaq	(%rsi,%r9), %rbx
	movq	%rdx, %r9
	rorq	$28, %rcx
	andq	%r8, %rdi
	rolq	$30, %r9
	xorq	%rcx, %r9
	movq	%rdx, %rcx
	rolq	$25, %rcx
	xorq	%r9, %rcx
	xorq	%rax, %rdi
	movq	%rbx, %r9
	addq	%rdi, %rcx
	movq	%r10, %rdi
	rorq	$14, %r9
	addq	%rsi, %rcx
	movq	24(%r15), %rsi
	xorq	%rbp, %rdi
	andq	%rbx, %rdi
	movq	%rcx, %r12
	bswap	%rsi
	movq	%rsi, -96(%rsp)
	addq	%r11, %rsi
	xorq	%r10, %rdi
	movabsq	$-1606136188198331460, %r11
	rolq	$30, %r12
	addq	%r11, %rsi
	addq	%rsi, %rdi
	movq	%rbx, %rsi
	rorq	$18, %rsi
	xorq	%r9, %rsi
	movq	%rbx, %r9
	rolq	$23, %r9
	xorq	%r9, %rsi
	movq	%rdx, %r9
	addq	%rsi, %rdi
	movq	%rcx, %rsi
	xorq	%rcx, %r9
	rorq	$28, %rsi
	andq	%r9, %r8
	leaq	(%rdi,%r14), %r11
	movabsq	$4131703408338449720, %r14
	xorq	%rsi, %r12
	movq	%rcx, %rsi
	xorq	%rdx, %r8
	rolq	$25, %rsi
	xorq	%r12, %rsi
	addq	%r8, %rsi
	movq	%rbp, %r8
	addq	%rdi, %rsi
	movq	32(%r15), %rdi
	xorq	%rbx, %r8
	andq	%r11, %r8
	movq	%rsi, %r12
	bswap	%rdi
	movq	%rdi, -88(%rsp)
	addq	%r14, %rdi
	xorq	%rbp, %r8
	movabsq	$6480981068601479193, %r14
	addq	%r10, %rdi
	movq	%r11, %r10
	addq	%rdi, %r8
	movq	%r11, %rdi
	rorq	$14, %r10
	rorq	$18, %rdi
	rolq	$30, %r12
	xorq	%r10, %rdi
	movq	%r11, %r10
	rolq	$23, %r10
	xorq	%r10, %rdi
	movq	%rcx, %r10
	addq	%rdi, %r8
	movq	%rsi, %rdi
	xorq	%rsi, %r10
	rorq	$28, %rdi
	andq	%r10, %r9
	addq	%r8, %rax
	xorq	%rdi, %r12
	movq	%rsi, %rdi
	xorq	%rcx, %r9
	rolq	$25, %rdi
	xorq	%r12, %rdi
	addq	%r9, %rdi
	movq	%rbx, %r9
	addq	%r8, %rdi
	movq	40(%r15), %r8
	xorq	%r11, %r9
	andq	%rax, %r9
	movq	%rdi, %r12
	bswap	%r8
	movq	%r8, -80(%rsp)
	addq	%r14, %r8
	xorq	%rbx, %r9
	addq	%rbp, %r8
	movq	%rax, %rbp
	rolq	$30, %r12
	movabsq	$-7908458776815382629, %r14
	addq	%r8, %r9
	movq	%rax, %r8
	rorq	$14, %rbp
	rorq	$18, %r8
	xorq	%rbp, %r8
	movq	%rax, %rbp
	rolq	$23, %rbp
	xorq	%rbp, %r8
	movq	%rsi, %rbp
	addq	%r8, %r9
	movq	%rdi, %r8
	xorq	%rdi, %rbp
	rorq	$28, %r8
	addq	%r9, %rdx
	xorq	%r8, %r12
	movq	%rdi, %r8
	andq	%rbp, %r10
	rolq	$25, %r8
	xorq	%rsi, %r10
	xorq	%r12, %r8
	addq	%r10, %r8
	movq	%r11, %r10
	addq	%r9, %r8
	movq	48(%r15), %r9
	xorq	%rax, %r10
	andq	%rdx, %r10
	movq	%r8, %r12
	bswap	%r9
	movq	%r9, -72(%rsp)
	addq	%r14, %r9
	xorq	%r11, %r10
	addq	%rbx, %r9
	movq	%rdx, %rbx
	rolq	$30, %r12
	addq	%r9, %r10
	movq	%rdx, %r9
	rorq	$14, %rbx
	rorq	$18, %r9
	xorq	%rbx, %r9
	movq	%rdx, %rbx
	rolq	$23, %rbx
	xorq	%rbx, %r9
	movq	%rdi, %rbx
	addq	%r9, %r10
	movq	%r8, %r9
	xorq	%r8, %rbx
	rorq	$28, %r9
	andq	%rbx, %rbp
	addq	%r10, %rcx
	xorq	%r9, %r12
	movq	%r8, %r9
	xorq	%rdi, %rbp
	rolq	$25, %r9
	xorq	%r12, %r9
	addq	%rbp, %r9
	movabsq	$-6116909921290321640, %rbp
	addq	%r10, %r9
	movq	56(%r15), %r10
	movq	%r9, %r12
	bswap	%r10
	movq	%r10, %r14
	movq	%r10, -64(%rsp)
	movq	%rax, %r10
	xorq	%rdx, %r10
	andq	%rcx, %r10
	xorq	%rax, %r10
	addq	%r14, %rbp
	rolq	$30, %r12
	movabsq	$-2880145864133508542, %r14
	addq	%r11, %rbp
	movq	%rcx, %r11
	addq	%rbp, %r10
	movq	%rcx, %rbp
	rorq	$18, %r11
	rorq	$14, %rbp
	xorq	%rbp, %r11
	movq	%rcx, %rbp
	rolq	$23, %rbp
	xorq	%rbp, %r11
	movq	%r8, %rbp
	addq	%r11, %r10
	movq	%r9, %r11
	xorq	%r9, %rbp
	rorq	$28, %r11
	andq	%rbp, %rbx
	addq	%r10, %rsi
	xorq	%r11, %r12
	movq	%r9, %r11
	xorq	%r8, %rbx
	rolq	$25, %r11
	xorq	%r12, %r11
	addq	%rbx, %r11
	movq	64(%r15), %rbx
	addq	%r10, %r11
	movq	%rdx, %r10
	xorq	%rcx, %r10
	bswap	%rbx
	movq	%rbx, -56(%rsp)
	addq	%r14, %rbx
	andq	%rsi, %r10
	addq	%rax, %rbx
	movq	%rsi, %rax
	movq	%r11, %r12
	xorq	%rdx, %r10
	rorq	$18, %rax
	addq	%rbx, %r10
	movq	%rsi, %rbx
	rorq	$14, %rbx
	xorq	%rbx, %rax
	movq	%rsi, %rbx
	rolq	$23, %rbx
	xorq	%rbx, %rax
	movq	%r9, %rbx
	addq	%rax, %r10
	movq	%r11, %rax
	rolq	$30, %r12
	xorq	%r11, %rbx
	rorq	$28, %rax
	andq	%rbx, %rbp
	addq	%r10, %rdi
	xorq	%rax, %r12
	movq	%r11, %rax
	xorq	%r9, %rbp
	rolq	$25, %rax
	xorq	%r12, %rax
	addq	%rbp, %rax
	movabsq	$1334009975649890238, %rbp
	addq	%r10, %rax
	movq	72(%r15), %r10
	movq	%rax, %r12
	bswap	%r10
	movq	%r10, %r14
	movq	%r10, -48(%rsp)
	movq	%rcx, %r10
	xorq	%rsi, %r10
	addq	%r14, %rbp
	rolq	$30, %r12
	andq	%rdi, %r10
	addq	%rdx, %rbp
	movq	%rdi, %rdx
	xorq	%rcx, %r10
	rorq	$18, %rdx
	addq	%rbp, %r10
	movq	%rdi, %rbp
	rorq	$14, %rbp
	xorq	%rbp, %rdx
	movq	%rdi, %rbp
	rolq	$23, %rbp
	xorq	%rbp, %rdx
	movq	%r11, %rbp
	addq	%rdx, %r10
	movq	%rax, %rdx
	xorq	%rax, %rbp
	rorq	$28, %rdx
	andq	%rbp, %rbx
	addq	%r10, %r8
	xorq	%rdx, %r12
	movq	%rax, %rdx
	rolq	$25, %rdx
	xorq	%r12, %rdx
	xorq	%r11, %rbx
	addq	%rbx, %rdx
	movq	%rsi, %rbx
	addq	%r10, %rdx
	movq	80(%r15), %r10
	xorq	%rdi, %rbx
	andq	%r8, %rbx
	movq	%rdx, %r12
	bswap	%r10
	movq	%r10, %r14
	movq	%r10, -40(%rsp)
	xorq	%rsi, %rbx
	movabsq	$2608012711638119052, %r10
	rolq	$30, %r12
	addq	%r14, %r10
	addq	%rcx, %r10
	movq	%r8, %rcx
	addq	%rbx, %r10
	movq	%r8, %rbx
	rorq	$18, %rcx
	rorq	$14, %rbx
	xorq	%rbx, %rcx
	movq	%r8, %rbx
	rolq	$23, %rbx
	xorq	%rbx, %rcx
	movq	%rax, %rbx
	addq	%rcx, %r10
	movq	%rdx, %rcx
	xorq	%rdx, %rbx
	rorq	$28, %rcx
	andq	%rbx, %rbp
	addq	%r10, %r9
	xorq	%rcx, %r12
	movq	%rdx, %rcx
	xorq	%rax, %rbp
	rolq	$25, %rcx
	xorq	%r12, %rcx
	addq	%rbp, %rcx
	movq	%rdi, %rbp
	addq	%r10, %rcx
	movq	88(%r15), %r10
	xorq	%r8, %rbp
	andq	%r9, %rbp
	movq	%rcx, %r12
	bswap	%r10
	movq	%r10, -32(%rsp)
	movq	%r10, %r14
	xorq	%rdi, %rbp
	movabsq	$6128411473006802146, %r10
	addq	%r14, %r10
	addq	%rsi, %r10
	movq	%r9, %rsi
	addq	%rbp, %r10
	movq	%r9, %rbp
	rorq	$14, %rbp
	rorq	$18, %rsi
	xorq	%rbp, %rsi
	movq	%r9, %rbp
	rolq	$30, %r12
	rolq	$23, %rbp
	xorq	%rbp, %rsi
	movq	%rdx, %rbp
	addq	%rsi, %r10
	movq	%rcx, %rsi
	xorq	%rcx, %rbp
	rorq	$28, %rsi
	andq	%rbp, %rbx
	addq	%r10, %r11
	xorq	%rsi, %r12
	movq	%rcx, %rsi
	xorq	%rdx, %rbx
	rolq	$25, %rsi
	xorq	%r12, %rsi
	addq	%rbx, %rsi
	movq	%r8, %rbx
	addq	%r10, %rsi
	movq	96(%r15), %r10
	xorq	%r9, %rbx
	andq	%r11, %rbx
	movq	%rsi, %r12
	bswap	%r10
	movq	%r10, %r14
	movq	%r10, -24(%rsp)
	xorq	%r8, %rbx
	movabsq	$8268148722764581231, %r10
	addq	%r14, %r10
	movq	%r15, %r14
	addq	%rdi, %r10
	movq	%r11, %rdi
	addq	%rbx, %r10
	movq	%r11, %rbx
	rorq	$18, %rdi
	rorq	$14, %rbx
	xorq	%rbx, %rdi
	movq	%r11, %rbx
	rolq	$23, %rbx
	xorq	%rbx, %rdi
	movq	%rcx, %rbx
	addq	%rdi, %r10
	movq	%rsi, %rdi
	xorq	%rsi, %rbx
	addq	%r10, %rax
	rorq	$28, %rdi
	rolq	$30, %r12
	andq	%rbx, %rbp
	xorq	%rdi, %r12
	movq	%rsi, %rdi
	xorq	%rcx, %rbp
	rolq	$25, %rdi
	xorq	%r12, %rdi
	addq	%rbp, %rdi
	movq	%r9, %rbp
	addq	%r10, %rdi
	movq	104(%r15), %r10
	xorq	%r11, %rbp
	movq	112(%r15), %r15
	andq	%rax, %rbp
	movq	%rdi, %r12
	bswap	%r10
	movq	%r10, %r13
	xorq	%r9, %rbp
	rolq	$30, %r12
	movabsq	$-9160688886553864527, %r10
	bswap	%r15
	movq	%r13, -16(%rsp)
	addq	%r13, %r10
	addq	%r8, %r10
	movq	%rax, %r8
	addq	%rbp, %r10
	movq	%rax, %rbp
	rorq	$18, %r8
	rorq	$14, %rbp
	xorq	%rbp, %r8
	movq	%rax, %rbp
	rolq	$23, %rbp
	xorq	%rbp, %r8
	movq	%rsi, %rbp
	addq	%r8, %r10
	movq	%rdi, %r8
	xorq	%rdi, %rbp
	rorq	$28, %r8
	andq	%rbp, %rbx
	addq	%r10, %rdx
	xorq	%r8, %r12
	movq	%rdi, %r8
	xorq	%rsi, %rbx
	rolq	$25, %r8
	xorq	%r12, %r8
	addq	%rbx, %r8
	movq	%r11, %rbx
	addq	%r10, %r8
	xorq	%rax, %rbx
	movabsq	$-7215885187991268811, %r10
	andq	%rdx, %rbx
	addq	%r15, %r10
	movq	%r8, %r12
	xorq	%r11, %rbx
	addq	%r9, %r10
	movq	%rdx, %r9
	rolq	$30, %r12
	addq	%rbx, %r10
	movq	%rdx, %rbx
	rorq	$18, %r9
	rorq	$14, %rbx
	xorq	%rbx, %r9
	movq	%rdx, %rbx
	rolq	$23, %rbx
	xorq	%rbx, %r9
	movq	%rdi, %rbx
	addq	%r9, %r10
	movq	%r8, %r9
	xorq	%r8, %rbx
	rorq	$28, %r9
	andq	%rbx, %rbp
	addq	%r10, %rcx
	xorq	%r9, %r12
	movq	%r8, %r9
	xorq	%rdi, %rbp
	rolq	$25, %r9
	xorq	%r12, %r9
	addq	%rbp, %r9
	movq	%rax, %rbp
	addq	%r10, %r9
	movq	120(%r14), %r10
	xorq	%rdx, %rbp
	andq	%rcx, %rbp
	movq	%r9, %r14
	bswap	%r10
	movq	%r10, %r12
	xorq	%rax, %rbp
	movabsq	$-4495734319001033068, %r10
	addq	%r12, %r10
	addq	%r11, %r10
	movq	%rcx, %r11
	addq	%rbp, %r10
	movq	%rcx, %rbp
	rorq	$18, %r11
	rorq	$14, %rbp
	xorq	%rbp, %r11
	movq	%rcx, %rbp
	rolq	$23, %rbp
	xorq	%rbp, %r11
	rolq	$30, %r14
	movq	%r8, %rbp
	addq	%r11, %r10
	movq	%r9, %r11
	xorq	%r9, %rbp
	rorq	$28, %r11
	andq	%rbp, %rbx
	addq	%r10, %rsi
	xorq	%r14, %r11
	movq	%r9, %r14
	xorq	%r8, %rbx
	rolq	$25, %r14
	xorq	%r14, %r11
	addq	%rbx, %r11
	addq	%r10, %r11
	movl	$_ZN7fast_io7details6sha51210k512scalarE, %r10d
.L3:
	movq	-112(%rsp), %r14
	movq	%r14, %r13
	movq	%r14, %rbx
	rorq	%r13
	rorq	$8, %rbx
	xorq	%r13, %rbx
	movq	%r14, %r13
	movq	%r15, %r14
	shrq	$7, %r13
	rorq	$19, %r14
	xorq	%r13, %rbx
	movq	%r15, %r13
	rolq	$3, %r13
	xorq	%r14, %r13
	movq	%r15, %r14
	shrq	$6, %r14
	xorq	%r14, %r13
	movq	-48(%rsp), %r14
	addq	%r13, %rbx
	movq	%rsi, %r13
	addq	%r14, %rbx
	addq	%rbx, -120(%rsp)
	movq	%rsi, %rbx
	rorq	$18, %r13
	rorq	$14, %rbx
	movq	-120(%rsp), %r14
	xorq	%rbx, %r13
	movq	%rsi, %rbx
	rolq	$23, %rbx
	xorq	%rbx, %r13
	movq	%rcx, %rbx
	xorq	%rdx, %rbx
	andq	%rsi, %rbx
	xorq	%rdx, %rbx
	addq	%rbx, %r13
	addq	(%r10), %r13
	addq	%r14, %r13
	addq	%rax, %r13
	movq	%r11, %rax
	xorq	%r9, %rax
	addq	%r13, %rdi
	movq	%rax, %rbx
	movq	%r11, %rax
	rorq	$28, %rax
	movq	%rax, %r14
	movq	%r11, %rax
	rolq	$30, %rax
	xorq	%r14, %rax
	movq	%r11, %r14
	rolq	$25, %r14
	xorq	%r14, %rax
	movq	-104(%rsp), %r14
	addq	%r13, %rax
	andq	%rbx, %rbp
	addq	8(%r10), %rdx
	xorq	%r9, %rbp
	movq	%r14, %r13
	addq	%rbp, %rax
	movq	%r14, %rbp
	rorq	%r13
	rorq	$8, %rbp
	xorq	%r13, %rbp
	movq	%r14, %r13
	shrq	$7, %r13
	xorq	%r13, %rbp
	movq	-40(%rsp), %r13
	addq	%r13, %rbp
	movq	-112(%rsp), %r13
	addq	%r13, %rbp
	movq	%r12, %r13
	rorq	$19, %r13
	movq	%r13, %r14
	movq	%r12, %r13
	rolq	$3, %r13
	xorq	%r14, %r13
	movq	%r12, %r14
	shrq	$6, %r14
	xorq	%r14, %r13
	movq	%rax, %r14
	addq	%r13, %rbp
	movq	%rsi, %r13
	xorq	%rcx, %r13
	addq	%rbp, %rdx
	movq	%rbp, -112(%rsp)
	andq	%rdi, %r13
	xorq	%rcx, %r13
	addq	%rdx, %r13
	movq	%rdi, %rdx
	rorq	$14, %rdx
	movq	%rdx, %rbp
	movq	%rdi, %rdx
	rorq	$18, %rdx
	xorq	%rbp, %rdx
	movq	%rdi, %rbp
	rolq	$23, %rbp
	xorq	%rbp, %rdx
	addq	%rdx, %r13
	movq	%rax, %rdx
	xorq	%r11, %rdx
	addq	%r13, %r8
	movq	%rdx, %rbp
	movq	%rax, %rdx
	rorq	$28, %rdx
	rolq	$30, %r14
	andq	%rbp, %rbx
	addq	16(%r10), %rcx
	xorq	%rdx, %r14
	movq	%rax, %rdx
	xorq	%r11, %rbx
	rolq	$25, %rdx
	xorq	%r14, %rdx
	movq	-96(%rsp), %r14
	addq	%rbx, %rdx
	addq	%r13, %rdx
	movq	%r14, %rbx
	movq	%r14, %r13
	rorq	%r13
	rorq	$8, %rbx
	xorq	%r13, %rbx
	movq	%r14, %r13
	movq	-104(%rsp), %r14
	shrq	$7, %r13
	xorq	%r13, %rbx
	movq	-32(%rsp), %r13
	addq	%r13, %rbx
	movq	-120(%rsp), %r13
	addq	%r14, %rbx
	movq	%r13, %r14
	rolq	$3, %r13
	rorq	$19, %r14
	xorq	%r14, %r13
	movq	-120(%rsp), %r14
	shrq	$6, %r14
	xorq	%r14, %r13
	movq	%rdi, %r14
	xorq	%rsi, %r14
	addq	%r13, %rbx
	movq	%r14, %r13
	addq	%rbx, %rcx
	movq	%rbx, -104(%rsp)
	movq	%rdx, %r14
	andq	%r8, %r13
	xorq	%rsi, %r13
	addq	%rcx, %r13
	movq	%r8, %rcx
	rorq	$14, %rcx
	movq	%rcx, %rbx
	movq	%r8, %rcx
	rorq	$18, %rcx
	xorq	%rbx, %rcx
	movq	%r8, %rbx
	rolq	$23, %rbx
	xorq	%rbx, %rcx
	addq	%rcx, %r13
	movq	%rax, %rcx
	rolq	$30, %r14
	addq	24(%r10), %rsi
	xorq	%rdx, %rcx
	addq	%r13, %r9
	movq	%rcx, %rbx
	movq	%rdx, %rcx
	rorq	$28, %rcx
	andq	%rbx, %rbp
	xorq	%rcx, %r14
	movq	%rdx, %rcx
	xorq	%rax, %rbp
	rolq	$25, %rcx
	xorq	%r14, %rcx
	addq	%rbp, %rcx
	movq	-88(%rsp), %rbp
	addq	%r13, %rcx
	movq	%rbp, %r14
	rorq	%r14
	movq	%r14, %r13
	movq	%rbp, %r14
	rorq	$8, %rbp
	xorq	%r13, %rbp
	shrq	$7, %r14
	movq	-96(%rsp), %r13
	xorq	%r14, %rbp
	movq	-24(%rsp), %r14
	addq	%r14, %rbp
	addq	%r13, %rbp
	movq	-112(%rsp), %r13
	movq	%r13, %r14
	rolq	$3, %r13
	rorq	$19, %r14
	xorq	%r14, %r13
	movq	-112(%rsp), %r14
	shrq	$6, %r14
	xorq	%r14, %r13
	movq	%rcx, %r14
	addq	%r13, %rbp
	movq	%rdi, %r13
	xorq	%r8, %r13
	addq	%rbp, %rsi
	movq	%rbp, -96(%rsp)
	andq	%r9, %r13
	xorq	%rdi, %r13
	addq	%rsi, %r13
	movq	%r9, %rsi
	rorq	$14, %rsi
	movq	%rsi, %rbp
	movq	%r9, %rsi
	rorq	$18, %rsi
	rolq	$30, %r14
	xorq	%rbp, %rsi
	movq	%r9, %rbp
	rolq	$23, %rbp
	xorq	%rbp, %rsi
	addq	%rsi, %r13
	movq	%rdx, %rsi
	xorq	%rcx, %rsi
	addq	%r13, %r11
	movq	%rsi, %rbp
	movq	%rcx, %rsi
	rorq	$28, %rsi
	andq	%rbp, %rbx
	xorq	%rsi, %r14
	movq	%rcx, %rsi
	xorq	%rdx, %rbx
	rolq	$25, %rsi
	xorq	%r14, %rsi
	movq	-80(%rsp), %r14
	addq	%rbx, %rsi
	addq	%r13, %rsi
	movq	%r14, %rbx
	movq	%r14, %r13
	rorq	%r13
	rorq	$8, %rbx
	xorq	%r13, %rbx
	movq	%r14, %r13
	movq	-16(%rsp), %r14
	shrq	$7, %r13
	xorq	%r13, %rbx
	movq	-104(%rsp), %r13
	addq	%r14, %rbx
	movq	-88(%rsp), %r14
	addq	%r14, %rbx
	movq	%r13, %r14
	rolq	$3, %r13
	rorq	$19, %r14
	xorq	%r14, %r13
	movq	-104(%rsp), %r14
	shrq	$6, %r14
	xorq	%r14, %r13
	movq	%rsi, %r14
	addq	%r13, %rbx
	movq	%r8, %r13
	xorq	%r9, %r13
	movq	%rbx, -88(%rsp)
	andq	%r11, %r13
	xorq	%r8, %r13
	addq	32(%r10), %rdi
	rolq	$30, %r14
	addq	%rbx, %rdi
	addq	%rdi, %r13
	movq	%r11, %rdi
	rorq	$14, %rdi
	movq	%rdi, %rbx
	movq	%r11, %rdi
	rorq	$18, %rdi
	xorq	%rbx, %rdi
	movq	%r11, %rbx
	rolq	$23, %rbx
	xorq	%rbx, %rdi
	addq	%rdi, %r13
	movq	%rcx, %rdi
	xorq	%rsi, %rdi
	addq	%r13, %rax
	movq	%rdi, %rbx
	movq	%rsi, %rdi
	rorq	$28, %rdi
	andq	%rbx, %rbp
	xorq	%rdi, %r14
	movq	%rsi, %rdi
	xorq	%rcx, %rbp
	rolq	$25, %rdi
	xorq	%r14, %rdi
	movq	-72(%rsp), %r14
	addq	%rbp, %rdi
	addq	%r13, %rdi
	movq	%r14, %rbp
	movq	%r14, %r13
	rorq	%r13
	rorq	$8, %rbp
	xorq	%r13, %rbp
	movq	%r14, %r13
	movq	-80(%rsp), %r14
	shrq	$7, %r13
	xorq	%r13, %rbp
	movq	-96(%rsp), %r13
	addq	%r15, %rbp
	addq	%r14, %rbp
	movq	%r13, %r14
	rolq	$3, %r13
	rorq	$19, %r14
	xorq	%r14, %r13
	movq	-96(%rsp), %r14
	shrq	$6, %r14
	xorq	%r14, %r13
	movq	%rdi, %r14
	addq	%r13, %rbp
	movq	%r9, %r13
	addq	40(%r10), %r8
	rolq	$30, %r14
	xorq	%r11, %r13
	addq	%rbp, %r8
	movq	%rbp, -80(%rsp)
	andq	%rax, %r13
	xorq	%r9, %r13
	addq	%r8, %r13
	movq	%rax, %r8
	rorq	$14, %r8
	movq	%r8, %rbp
	movq	%rax, %r8
	rorq	$18, %r8
	xorq	%rbp, %r8
	movq	%rax, %rbp
	rolq	$23, %rbp
	xorq	%rbp, %r8
	addq	%r8, %r13
	movq	%rsi, %r8
	xorq	%rdi, %r8
	addq	%r13, %rdx
	movq	%r8, %rbp
	movq	%rdi, %r8
	rorq	$28, %r8
	andq	%rbp, %rbx
	xorq	%r8, %r14
	movq	%rdi, %r8
	xorq	%rsi, %rbx
	rolq	$25, %r8
	xorq	%r14, %r8
	movq	-64(%rsp), %r14
	addq	%rbx, %r8
	addq	%r13, %r8
	movq	%r14, %rbx
	movq	%r14, %r13
	rorq	%r13
	rorq	$8, %rbx
	xorq	%r13, %rbx
	movq	%r14, %r13
	movq	-72(%rsp), %r14
	shrq	$7, %r13
	xorq	%r13, %rbx
	movq	-88(%rsp), %r13
	addq	%r12, %rbx
	addq	%r14, %rbx
	movq	%r13, %r14
	rorq	$19, %r14
	rolq	$3, %r13
	xorq	%r14, %r13
	movq	-88(%rsp), %r14
	shrq	$6, %r14
	xorq	%r14, %r13
	movq	%r8, %r14
	addq	%r13, %rbx
	movq	%r11, %r13
	rolq	$30, %r14
	xorq	%rax, %r13
	addq	%rbx, %r9
	addq	48(%r10), %r9
	movq	%rbx, -72(%rsp)
	andq	%rdx, %r13
	xorq	%r11, %r13
	addq	%r9, %r13
	movq	%rdx, %r9
	rorq	$14, %r9
	movq	%r9, %rbx
	movq	%rdx, %r9
	rorq	$18, %r9
	xorq	%rbx, %r9
	movq	%rdx, %rbx
	rolq	$23, %rbx
	xorq	%rbx, %r9
	addq	%r9, %r13
	movq	%rdi, %r9
	xorq	%r8, %r9
	addq	%r13, %rcx
	movq	%r9, %rbx
	movq	%r8, %r9
	rorq	$28, %r9
	andq	%rbx, %rbp
	xorq	%r9, %r14
	movq	%r8, %r9
	xorq	%rdi, %rbp
	rolq	$25, %r9
	xorq	%r14, %r9
	addq	%rbp, %r9
	movq	-56(%rsp), %rbp
	addq	%r13, %r9
	movq	%rbp, %r14
	rorq	%r14
	movq	%r14, %r13
	movq	%rbp, %r14
	rorq	$8, %rbp
	xorq	%r13, %rbp
	movq	%r14, %r13
	movq	-120(%rsp), %r14
	shrq	$7, %r13
	xorq	%r13, %rbp
	movq	-80(%rsp), %r13
	addq	%r14, %rbp
	movq	-64(%rsp), %r14
	addq	%r14, %rbp
	movq	%r13, %r14
	rolq	$3, %r13
	rorq	$19, %r14
	xorq	%r14, %r13
	movq	-80(%rsp), %r14
	shrq	$6, %r14
	xorq	%r14, %r13
	movq	%rax, %r14
	addq	%r13, %rbp
	xorq	%rdx, %r14
	movq	%rbp, -64(%rsp)
	movq	%r14, %r13
	addq	56(%r10), %rbp
	movq	%r9, %r14
	addq	%r11, %rbp
	andq	%rcx, %r13
	movq	%rcx, %r11
	rolq	$30, %r14
	xorq	%rax, %r13
	rorq	$14, %r11
	addq	%rbp, %r13
	movq	%r11, %rbp
	movq	%rcx, %r11
	rorq	$18, %r11
	xorq	%rbp, %r11
	movq	%rcx, %rbp
	rolq	$23, %rbp
	xorq	%rbp, %r11
	addq	%r11, %r13
	movq	%r8, %r11
	xorq	%r9, %r11
	addq	%r13, %rsi
	movq	%r11, %rbp
	movq	%r9, %r11
	rorq	$28, %r11
	andq	%rbp, %rbx
	xorq	%r11, %r14
	movq	%r9, %r11
	xorq	%r8, %rbx
	rolq	$25, %r11
	xorq	%r14, %r11
	addq	%rbx, %r11
	movq	-48(%rsp), %rbx
	addq	%r13, %r11
	movq	%rbx, %r14
	rorq	%r14
	movq	%r14, %r13
	movq	%rbx, %r14
	rorq	$8, %rbx
	xorq	%r13, %rbx
	shrq	$7, %r14
	movq	-112(%rsp), %r13
	xorq	%r14, %rbx
	addq	%r13, %rbx
	movq	-56(%rsp), %r13
	addq	%r13, %rbx
	movq	-72(%rsp), %r13
	movq	%r13, %r14
	rolq	$3, %r13
	rorq	$19, %r14
	xorq	%r14, %r13
	movq	-72(%rsp), %r14
	shrq	$6, %r14
	xorq	%r14, %r13
	movq	%r11, %r14
	addq	%r13, %rbx
	movq	%rdx, %r13
	rolq	$30, %r14
	xorq	%rcx, %r13
	movq	%rbx, -56(%rsp)
	addq	64(%r10), %rbx
	addq	%rax, %rbx
	andq	%rsi, %r13
	movq	%rsi, %rax
	xorq	%rdx, %r13
	rorq	$14, %rax
	addq	%rbx, %r13
	movq	%rax, %rbx
	movq	%rsi, %rax
	rorq	$18, %rax
	xorq	%rbx, %rax
	movq	%rsi, %rbx
	rolq	$23, %rbx
	xorq	%rbx, %rax
	addq	%rax, %r13
	movq	%r9, %rax
	xorq	%r11, %rax
	addq	%r13, %rdi
	movq	%rax, %rbx
	movq	%r11, %rax
	rorq	$28, %rax
	xorq	%rax, %r14
	movq	%r11, %rax
	rolq	$25, %rax
	xorq	%r14, %rax
	andq	%rbx, %rbp
	xorq	%r9, %rbp
	addq	%rbp, %rax
	movq	-40(%rsp), %rbp
	addq	%r13, %rax
	movq	%rbp, %r14
	rorq	%r14
	movq	%r14, %r13
	movq	%rbp, %r14
	rorq	$8, %rbp
	xorq	%r13, %rbp
	movq	%r14, %r13
	movq	-48(%rsp), %r14
	shrq	$7, %r13
	xorq	%r13, %rbp
	movq	-104(%rsp), %r13
	addq	%r13, %rbp
	movq	-64(%rsp), %r13
	addq	%r14, %rbp
	movq	%r13, %r14
	rolq	$3, %r13
	rorq	$19, %r14
	xorq	%r14, %r13
	movq	-64(%rsp), %r14
	shrq	$6, %r14
	xorq	%r14, %r13
	movq	%rax, %r14
	addq	%r13, %rbp
	movq	%rcx, %r13
	xorq	%rsi, %r13
	movq	%rbp, -48(%rsp)
	addq	72(%r10), %rbp
	addq	%rdx, %rbp
	andq	%rdi, %r13
	movq	%rdi, %rdx
	xorq	%rcx, %r13
	rorq	$14, %rdx
	addq	%rbp, %r13
	movq	%rdx, %rbp
	movq	%rdi, %rdx
	rorq	$18, %rdx
	xorq	%rbp, %rdx
	movq	%rdi, %rbp
	rolq	$23, %rbp
	xorq	%rbp, %rdx
	addq	%rdx, %r13
	movq	%r11, %rdx
	xorq	%rax, %rdx
	addq	%r13, %r8
	movq	%rdx, %rbp
	movq	%rax, %rdx
	rorq	$28, %rdx
	rolq	$30, %r14
	andq	%rbp, %rbx
	xorq	%rdx, %r14
	movq	%rax, %rdx
	xorq	%r11, %rbx
	rolq	$25, %rdx
	xorq	%r14, %rdx
	addq	%rbx, %rdx
	movq	-32(%rsp), %rbx
	addq	%r13, %rdx
	movq	%rbx, %r14
	rorq	%r14
	movq	%r14, %r13
	movq	%rbx, %r14
	rorq	$8, %rbx
	xorq	%r13, %rbx
	shrq	$7, %r14
	movq	-96(%rsp), %r13
	xorq	%r14, %rbx
	movq	-40(%rsp), %r14
	addq	%r13, %rbx
	movq	-56(%rsp), %r13
	addq	%r14, %rbx
	movq	%r13, %r14
	rolq	$3, %r13
	rorq	$19, %r14
	xorq	%r14, %r13
	movq	-56(%rsp), %r14
	shrq	$6, %r14
	xorq	%r14, %r13
	movq	%rdx, %r14
	addq	%r13, %rbx
	movq	%rbx, -40(%rsp)
	addq	80(%r10), %rbx
	movq	%rbx, %r13
	addq	%rcx, %r13
	movq	%rsi, %rcx
	xorq	%rdi, %rcx
	andq	%r8, %rcx
	xorq	%rsi, %rcx
	addq	%rcx, %r13
	movq	%r8, %rcx
	rorq	$14, %rcx
	movq	%rcx, %rbx
	movq	%r8, %rcx
	rorq	$18, %rcx
	xorq	%rbx, %rcx
	movq	%r8, %rbx
	rolq	$23, %rbx
	xorq	%rbx, %rcx
	addq	%rcx, %r13
	movq	%rax, %rcx
	rolq	$30, %r14
	xorq	%rdx, %rcx
	addq	%r13, %r9
	movq	%rcx, %rbx
	movq	%rdx, %rcx
	rorq	$28, %rcx
	andq	%rbx, %rbp
	xorq	%rcx, %r14
	movq	%rdx, %rcx
	xorq	%rax, %rbp
	rolq	$25, %rcx
	xorq	%r14, %rcx
	movq	-24(%rsp), %r14
	addq	%rbp, %rcx
	addq	%r13, %rcx
	movq	%r14, %rbp
	movq	%r14, %r13
	rorq	%r13
	rorq	$8, %rbp
	xorq	%r13, %rbp
	movq	%r14, %r13
	movq	-32(%rsp), %r14
	shrq	$7, %r13
	xorq	%r13, %rbp
	movq	-88(%rsp), %r13
	addq	%r13, %rbp
	movq	-48(%rsp), %r13
	addq	%r14, %rbp
	movq	%r13, %r14
	rolq	$3, %r13
	rorq	$19, %r14
	xorq	%r14, %r13
	movq	-48(%rsp), %r14
	shrq	$6, %r14
	xorq	%r14, %r13
	movq	%rcx, %r14
	addq	%r13, %rbp
	movq	%rbp, -32(%rsp)
	addq	88(%r10), %rbp
	movq	%rbp, %r13
	addq	%rsi, %r13
	movq	%rdi, %rsi
	xorq	%r8, %rsi
	andq	%r9, %rsi
	xorq	%rdi, %rsi
	addq	%rsi, %r13
	movq	%r9, %rsi
	rorq	$14, %rsi
	movq	%rsi, %rbp
	movq	%r9, %rsi
	rorq	$18, %rsi
	rolq	$30, %r14
	xorq	%rbp, %rsi
	movq	%r9, %rbp
	rolq	$23, %rbp
	xorq	%rbp, %rsi
	addq	%rsi, %r13
	movq	%rdx, %rsi
	xorq	%rcx, %rsi
	addq	%r13, %r11
	movq	%rsi, %rbp
	movq	%rcx, %rsi
	rorq	$28, %rsi
	andq	%rbp, %rbx
	xorq	%rsi, %r14
	movq	%rcx, %rsi
	xorq	%rdx, %rbx
	rolq	$25, %rsi
	xorq	%r14, %rsi
	movq	-16(%rsp), %r14
	addq	%rbx, %rsi
	addq	%r13, %rsi
	movq	%r14, %rbx
	movq	%r14, %r13
	rorq	%r13
	rorq	$8, %rbx
	xorq	%r13, %rbx
	movq	%r14, %r13
	movq	-24(%rsp), %r14
	shrq	$7, %r13
	xorq	%r13, %rbx
	movq	-80(%rsp), %r13
	addq	%r13, %rbx
	movq	-40(%rsp), %r13
	addq	%r14, %rbx
	movq	%r13, %r14
	rolq	$3, %r13
	rorq	$19, %r14
	xorq	%r14, %r13
	movq	-40(%rsp), %r14
	shrq	$6, %r14
	xorq	%r14, %r13
	movq	%rsi, %r14
	addq	%r13, %rbx
	movq	%rbx, -24(%rsp)
	addq	96(%r10), %rbx
	movq	%rbx, %r13
	addq	%rdi, %r13
	movq	%r8, %rdi
	xorq	%r9, %rdi
	andq	%r11, %rdi
	rolq	$30, %r14
	xorq	%r8, %rdi
	addq	%rdi, %r13
	movq	%r11, %rdi
	rorq	$14, %rdi
	movq	%rdi, %rbx
	movq	%r11, %rdi
	rorq	$18, %rdi
	xorq	%rbx, %rdi
	movq	%r11, %rbx
	rolq	$23, %rbx
	xorq	%rbx, %rdi
	addq	%rdi, %r13
	movq	%rcx, %rdi
	xorq	%rsi, %rdi
	addq	%r13, %rax
	movq	%rdi, %rbx
	movq	%rsi, %rdi
	rorq	$28, %rdi
	andq	%rbx, %rbp
	xorq	%rdi, %r14
	movq	%rsi, %rdi
	xorq	%rcx, %rbp
	rolq	$25, %rdi
	xorq	%r14, %rdi
	addq	%rbp, %rdi
	movq	%r15, %rbp
	rorq	%rbp
	addq	%r13, %rdi
	movq	%rbp, %r13
	movq	%r15, %rbp
	rorq	$8, %rbp
	xorq	%r13, %rbp
	movq	%r15, %r13
	shrq	$7, %r13
	xorq	%r13, %rbp
	movq	-72(%rsp), %r13
	addq	%r13, %rbp
	movq	-16(%rsp), %r13
	addq	%r13, %rbp
	movq	-32(%rsp), %r13
	movq	%r13, %r14
	rolq	$3, %r13
	rorq	$19, %r14
	xorq	%r14, %r13
	movq	-32(%rsp), %r14
	shrq	$6, %r14
	xorq	%r14, %r13
	movq	%rdi, %r14
	addq	%r13, %rbp
	rolq	$30, %r14
	movq	%rbp, -16(%rsp)
	addq	104(%r10), %rbp
	movq	%rbp, %r13
	addq	%r8, %r13
	movq	%r9, %r8
	xorq	%r11, %r8
	andq	%rax, %r8
	xorq	%r9, %r8
	addq	%r8, %r13
	movq	%rax, %r8
	rorq	$14, %r8
	movq	%r8, %rbp
	movq	%rax, %r8
	rorq	$18, %r8
	xorq	%rbp, %r8
	movq	%rax, %rbp
	rolq	$23, %rbp
	xorq	%rbp, %r8
	addq	%r8, %r13
	movq	%rsi, %r8
	xorq	%rdi, %r8
	addq	%r13, %rdx
	movq	%r8, %rbp
	movq	%rdi, %r8
	rorq	$28, %r8
	andq	%rbp, %rbx
	xorq	%r8, %r14
	movq	%rdi, %r8
	xorq	%rsi, %rbx
	rolq	$25, %r8
	xorq	%r14, %r8
	addq	%rbx, %r8
	movq	%r12, %rbx
	rorq	%rbx
	addq	%r13, %r8
	movq	%rbx, %r13
	movq	%r12, %rbx
	rorq	$8, %rbx
	xorq	%r13, %rbx
	movq	%r12, %r13
	shrq	$7, %r13
	xorq	%r13, %rbx
	movq	-64(%rsp), %r13
	addq	%r13, %rbx
	addq	%r15, %rbx
	movq	-24(%rsp), %r15
	movq	%r15, %r13
	rorq	$19, %r13
	movq	%r13, %r14
	movq	%r15, %r13
	rolq	$3, %r13
	shrq	$6, %r15
	xorq	%r14, %r13
	movq	%r8, %r14
	xorq	%r15, %r13
	rolq	$30, %r14
	leaq	(%rbx,%r13), %r15
	movq	112(%r10), %rbx
	addq	%r15, %rbx
	movq	%rbx, %r13
	movq	%rdx, %rbx
	addq	%r9, %r13
	movq	%r11, %r9
	rorq	$14, %rbx
	xorq	%rax, %r9
	andq	%rdx, %r9
	xorq	%r11, %r9
	addq	%r9, %r13
	movq	%rdx, %r9
	rorq	$18, %r9
	xorq	%rbx, %r9
	movq	%rdx, %rbx
	rolq	$23, %rbx
	xorq	%rbx, %r9
	movq	%rdi, %rbx
	addq	%r9, %r13
	movq	%r8, %r9
	xorq	%r8, %rbx
	rorq	$28, %r9
	andq	%rbx, %rbp
	addq	%r13, %rcx
	xorq	%r9, %r14
	movq	%r8, %r9
	xorq	%rdi, %rbp
	rolq	$25, %r9
	xorq	%r14, %r9
	movq	-120(%rsp), %r14
	addq	%rbp, %r9
	addq	%r13, %r9
	movq	%r14, %rbp
	movq	%r14, %r13
	shrq	$7, %r14
	rorq	%r13
	rorq	$8, %rbp
	xorq	%r13, %rbp
	xorq	%r14, %rbp
	movq	-56(%rsp), %r14
	addq	%r14, %rbp
	movq	-16(%rsp), %r14
	subq	$-128, %r10
	addq	%r12, %rbp
	movq	%r14, %r13
	movq	%r14, %r12
	shrq	$6, %r14
	rorq	$19, %r13
	rolq	$3, %r12
	xorq	%r13, %r12
	movq	%rax, %r13
	xorq	%r14, %r12
	xorq	%rdx, %r13
	movq	%r9, %r14
	addq	%rbp, %r12
	movq	-8(%r10), %rbp
	andq	%rcx, %r13
	rolq	$30, %r14
	xorq	%rax, %r13
	addq	%r12, %rbp
	addq	%r11, %rbp
	movq	%rcx, %r11
	addq	%rbp, %r13
	movq	%rcx, %rbp
	rorq	$18, %r11
	rorq	$14, %rbp
	xorq	%rbp, %r11
	movq	%rcx, %rbp
	rolq	$23, %rbp
	xorq	%rbp, %r11
	movq	%r8, %rbp
	addq	%r11, %r13
	movq	%r9, %r11
	xorq	%r9, %rbp
	rorq	$28, %r11
	andq	%rbp, %rbx
	addq	%r13, %rsi
	xorq	%r11, %r14
	movq	%r9, %r11
	xorq	%r8, %rbx
	rolq	$25, %r11
	xorq	%r14, %r11
	addq	%rbx, %r11
	addq	%r13, %r11
	cmpq	$_ZN7fast_io7details6sha51210k512scalarE+512, %r10
	jne	.L3
	addq	%rax, 56(%rsp)
	subq	$-128, -8(%rsp)
	movq	-8(%rsp), %rax
	addq	%r11, (%rsp)
	addq	%r9, 8(%rsp)
	addq	%r8, 16(%rsp)
	addq	%rdi, 24(%rsp)
	addq	%rsi, 32(%rsp)
	addq	%rcx, 40(%rsp)
	addq	%rdx, 48(%rsp)
	cmpq	%rax, 64(%rsp)
	jne	.L4
	movq	72(%rsp), %rcx
	movq	(%rsp), %rax
	movq	%rax, (%rcx)
	movq	8(%rsp), %rax
	movq	%rax, 8(%rcx)
	movq	16(%rsp), %rax
	movq	%rax, 16(%rcx)
	movq	24(%rsp), %rax
	movq	%rax, 24(%rcx)
	movq	32(%rsp), %rax
	movq	%rax, 32(%rcx)
	movq	40(%rsp), %rax
	movq	%rax, 40(%rcx)
	movq	48(%rsp), %rax
	movq	%rax, 48(%rcx)
	movq	56(%rsp), %rax
	movq	%rax, 56(%rcx)
.L1:
	addq	$80, %rsp
	popq	%rbx
	popq	%rbp
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	ret
	.size	_Z14sha512_invokerPmPKSt4byteS2_, .-_Z14sha512_invokerPmPKSt4byteS2_
	.weak	_ZN7fast_io7details6sha51210k512scalarE
	.section	.rodata._ZN7fast_io7details6sha51210k512scalarE,"aG",@progbits,_ZN7fast_io7details6sha51210k512scalarE,comdat
	.align 32
	.type	_ZN7fast_io7details6sha51210k512scalarE, @gnu_unique_object
	.size	_ZN7fast_io7details6sha51210k512scalarE, 512
_ZN7fast_io7details6sha51210k512scalarE:
	.quad	-1973867731355612462
	.quad	-1171420211273849373
	.quad	1135362057144423861
	.quad	2597628984639134821
	.quad	3308224258029322869
	.quad	5365058923640841347
	.quad	6679025012923562964
	.quad	8573033837759648693
	.quad	-7476448914759557205
	.quad	-6327057829258317296
	.quad	-5763719355590565569
	.quad	-4658551843659510044
	.quad	-4116276920077217854
	.quad	-3051310485924567259
	.quad	489312712824947311
	.quad	1452737877330783856
	.quad	2861767655752347644
	.quad	3322285676063803686
	.quad	5560940570517711597
	.quad	5996557281743188959
	.quad	7280758554555802590
	.quad	8532644243296465576
	.quad	-9096487096722542874
	.quad	-7894198246740708037
	.quad	-6719396339535248540
	.quad	-6333637450476146687
	.quad	-4446306890439682159
	.quad	-4076793802049405392
	.quad	-3345356375505022440
	.quad	-2983346525034927856
	.quad	-860691631967231958
	.quad	1182934255886127544
	.quad	1847814050463011016
	.quad	2177327727835720531
	.quad	2830643537854262169
	.quad	3796741975233480872
	.quad	4115178125766777443
	.quad	5681478168544905931
	.quad	6601373596472566643
	.quad	7507060721942968483
	.quad	8399075790359081724
	.quad	8693463985226723168
	.quad	-8878714635349349518
	.quad	-8302665154208450068
	.quad	-8016688836872298968
	.quad	-6606660893046293015
	.quad	-4685533653050689259
	.quad	-4147400797238176981
	.quad	-3880063495543823972
	.quad	-3348786107499101689
	.quad	-1523767162380948706
	.quad	-757361751448694408
	.quad	500013540394364858
	.quad	748580250866718886
	.quad	1242879168328830382
	.quad	1977374033974150939
	.quad	2944078676154940804
	.quad	3659926193048069267
	.quad	4368137639120453308
	.quad	4836135668995329356
	.quad	5532061633213252278
	.quad	6448918945643986474
	.quad	6902733635092675308
	.quad	7801388544844847127
	.section	.note.GNU-stack,"",@progbits
